.TH std::range-default-formatter, 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::range-default-formatter, \- std::range-default-formatter,

.SH Synopsis

   Defined in header <format>
   template< std::range_format K, ranges::input_range R, class
   CharT >
                                                                     (since C++23)
       requires (K == std::range_format::string || K ==              (exposition only*)
   std::range_format::debug_string)

   struct range-default-formatter<K, R, CharT>;

   The class template range-default-formatter for range types is specialized for
   formatting range as a string or an escaped string if std::format_kind<R> is either
   std::range_format::string or std::range_format::debug_string.

.SH Member objects

   Member name           Definition
                         the underlying formatter of type
   underlying_ (private) std::formatter<std::basic_string<CharT>, CharT>
                         (exposition-only member object*)

.SH Member functions

   constructor           constructs a range-default-formatter
   (implicitly declared) \fI(public member function)\fP
   parse                 parses the format specifier as specified by std-format-spec
                         \fI(public member function)\fP
   format                writes the formatted output as specified by std-format-spec
                         \fI(public member function)\fP

std::range-default-formatter<std::range_format::string>::parse
std::range-default-formatter<std::range_format::debug_string>::parse

   template< class ParseContext >
   constexpr auto parse( ParseContext& ctx ) -> ParseContext::iterator;

   Equivalent to:

   auto i = underlying_.parse(ctx);
   if constexpr (K == std::range_format::debug_string)
       underlying_.set_debug_format();
   return i;

   Returns an iterator past the end of the std-format-spec.

std::range-default-formatter<std::range_format::string>::format
std::range-default-formatter<std::range_format::debug_string>::format

   template< class FormatContext >
   auto format( /* see below */& r, FormatContext& ctx ) const ->
   FormatContext::iterator;

   If ranges::input_range<const R> is true, the type of r is const R&. Otherwise, the
   type is R&.

   Let s be a std::basic_string<CharT> as if by constructing s with
   std::basic_string<CharT>(std::from_range, r) such that ranges::equal(s, r) is true.

   Equivalent to return underlying_.format(s, ctx);.

   Returns an iterator past the end of the output range.

.SH See also

   formatter       defines formatting rules for a given type
   (C++20)         \fI(class template)\fP
   range_formatter class template that helps implementing std::formatter
   (C++23)         specializations for range types
                   \fI(class template)\fP
